<%@ page language="java" contentType="text/json; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.SQLException" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page language="java" import="java.lang.*" %>
<%@ page import = "java.sql.SQLException" %>
<%@ page import = "com.seniorproject.aims.*" %>
<%@ page import = "java.util.List" %>
<%@page import="java.util.ArrayList"%>
<%@ page import = "java.util.Properties" %>
<%@ page import = "javax.servlet.ServletContext" %>
<%@ page import = "java.io.File" %>
<%@ page import = "java.io.InputStream" %>

<%

	//get session
	String strUser = String.valueOf(session.getAttribute("sUser"));
	HttpSession htp_session = request.getSession();
	
	// check session
	if (htp_session == null || htp_session.getAttribute("sUser") == null) {
	    // Forward the control to login.jsp if authentication fails or session expires
	    request.getRequestDispatcher("/login.jsp").forward(request,
	        response);
	}	
	
	if("admin".equals(htp_session.getAttribute("sUser"))){%>
	<script>alert("This user dont have PERMISSION to access this zone.");</script>
	<meta HTTP-EQUIV="Refresh" CONTENT="0; URL=admin_home.jsp"> 	
	<%}
	
	//get parameter
	
		int CategoryIdDelete = Integer.parseInt(request.getParameter("CategoryIdDelete"));	
		
		System.out.println("delete CategoryIdDelete: "+CategoryIdDelete);////////////try//////////
	
		//GET PERMISSION

				String name = String.valueOf(session.getAttribute("name"));
				String surname = String.valueOf(session.getAttribute("surname"));
				String role_name = String.valueOf(session.getAttribute("curriculum_role"));
				
				String department_id = String.valueOf(session.getAttribute("department_id"));
						
				System.out.println("name : " + name);///////////////////////////////
				System.out.println("department_id : " + department_id);/////////////////////////
				
				List<String> system_name = new ArrayList<String>();
				
				Permission permission = new Permission(strUser,name);
				permission.setCurriculumCreate(Boolean.valueOf(String.valueOf(session.getAttribute("curriculum_create"))));
				permission.setCurriculumDelete(Boolean.valueOf(String.valueOf(session.getAttribute("curriculum_delete"))));
				permission.setCurriculumRead(Boolean.valueOf(String.valueOf(session.getAttribute("curriculum_read"))));
				permission.setCurriculumUpdate(Boolean.valueOf(String.valueOf(session.getAttribute("curriculum_update"))));
				
				String permiss = "";
				if(permission.getCurriculumCreate()) {
					permiss = permiss + "Add";
				}
				if(permission.getCurriculumUpdate()) {
					if("".equals(permiss)) {
						permiss = permiss + "Edit";
					} else {
						permiss = permiss + " Edit";
					}
				}
				if(permission.getCurriculumRead()) {
					if("".equals(permiss)) {
						permiss = permiss + "Read";
					} else {
						permiss = permiss + " Read";
					}
				}
				if(permission.getCurriculumDelete()) {
					if("".equals(permiss)) {
						permiss = permiss + "Delete";
					} else {
						permiss = permiss + " Delete";
					}
				}
				
			///////////////////////////////////////////////////////////////////////////////////////////////////////////			
			//check permission
				if(!permission.getCurriculumCreate()){%>
					<script>alert("This user dont have PERMISSION to access this zone.");</script>
					<meta HTTP-EQUIV="Refresh" CONTENT="0; URL=curriculum_home.jsp"> 	
				<%}
			
	//set Database Connection
	String hostProps = "";
	String usernameProps  = "";
	String passwordProps  = "";
	String databaseProps = "";
	
	try {
		//get current path
		ServletContext servletContext = request.getSession().getServletContext();
		
		InputStream input = servletContext.getResourceAsStream("/properties/connectDB.properties");
		Properties props = new Properties();
		
		props.load(input);

		hostProps  = props.getProperty("host");
		usernameProps  = props.getProperty("username");
		passwordProps  = props.getProperty("password");
		databaseProps = props.getProperty("database");
	} catch (Exception e) { 
		out.println(e);  
	}
	
	// connect database
	Connection connect = null;		
	try {
		Class.forName("com.mysql.jdbc.Driver");
	
		connect =  DriverManager.getConnection("jdbc:mysql://" + hostProps  + "/" + databaseProps +
				"?user=" + usernameProps  + "&password=" + passwordProps );
	
		if(connect != null){
			System.out.println("Database Connect Sucesses.");
		} else {
			System.out.println("Database Connect Failed.");	
		}

	} catch (Exception e) {
		out.println(e.getMessage());
		e.printStackTrace();
	}
	
	
	//delete curriculum in database
	try {			   
			connect.createStatement().executeUpdate("DELETE FROM `subject_category` "
					+" WHERE category_id = '"+ CategoryIdDelete + "'");
			
			String sql_subject_category = "DELETE FROM `subject_category` "
					+" WHERE category_id = '"+ CategoryIdDelete + "'";
					
			
			/* Log file */
			String log_user = strUser+" delete subject_category";
			Log.writeUserFile(log_user);
			Log.writeUserFile(sql_subject_category);
					
			System.out.println("delete sucess");////////////try//////////
	} catch (SQLException e) {
		e.printStackTrace();
	}

	connect.close();
%>
